import { TAG_TYPE, YEAR_INSPECT } from '@/constant/enums';

/**
 * 页面传参函数名称
 */
export const TRANS_DATA_EVENT_NAME = 'transformDataFromPage';
/**
 * 上传路径
 */
export const UPLOAD_URL = `${import.meta.env.VITE_API_URL}/api/upload`;
/**
 * 订单完成状态
 */
export const ORDER_STATUS = {
    /** 未完成 */
    INCOMPLETE: 1,
    /** 已完成 */
    COMPLETED: 2,
};

/**
 * 批次检测状态
 */
export const BATCH_INSPECT_STATUS = {
    /** 正常 */
    NORMAL: 1,
    /** 异常 */
    EXCEPTION: 2,
};

/**
 * 领用状态
 */
export const CONSUMING_STATUS = {
    /** 未完成 */
    INCOMPLETE: 1,
    /** 已完成 */
    COMPLETED: 2,
};

/**
 * 阶段状态
 * @type {{
 * P_YQFX: string,
 * P_THRC: string,
 * P_WXRC: string,
 * P_WXCC: string,
 * P_HPRC: string,
 * P_NJCC: string,
 * P_CPCK: string,
 * P_CPBZ: string,
 * P_GPCL: string,
 * P_NJRC: string,
 * P_XPRC: string
 * }}
 */
export const PHASE_TYPE = {
    /**
     * 新瓶入厂
     */
    P_XPRC: 'phase_xprc',
    /**
     * 充前登记
     */
    P_CQDJ: 'phase_cqdj',
    /**
     * 充后登记
     */
    P_CHDJ: 'phase_chdj',
    /**
     * 成品分析
     */
    P_CPFX: 'phase_cpfx',
    /**
     * 充后复检
     */
    P_CHFJ: 'phase_chfj',
    /**
     * 维修出厂
     */
    P_WXCC: 'phase_wxcc',
    /**
     * 年检出厂
     */
    P_NJCC: 'phase_njcc',
    /**
     * 余气分析
     */
    P_YQFX: 'phase_yqfx',
    /**
     * 钢瓶处理
     */
    P_GPCL: 'phase_gpcl',
    /**
     * 成品出库
     */
    P_CPCK: 'phase_cpck',
    /**
     * 成品包装
     */
    P_CPBZ: 'phase_cpbz',
    /**
     * 充后回放
     */
    P_CHHF: 'phase_chhf',
    /**
     * 回瓶入厂
     */
    P_HPRC: 'phase_hprc',
    /**
     * 退货入厂
     */
    P_THRC: 'phase_thrc',
    /**
     * 维修入厂
     */
    P_WXRC: 'phase_wxrc',
    /**
     * 年检入厂
     */
    P_NJRC: 'phase_njrc',
    /**
     * 成品入库
     */
    P_CPRK: 'phase_cprk',
    /**
     * 水分分析
     */
    P_SFFX: 'phase_sffx',
    /**
     * 车间氦检
     */
    P_CJHJ: 'phase_cjhj',
    /**
     * 钢瓶再生
     */
    P_GPZS: 'phase_gpzs',
    /**
     * 不合格处置
     */
    P_BHGCZ: 'phase_bhgcz',
    /**
     * 年检前处理
     */
    P_NJCL: 'phase_njcl',
};
interface phaseType {
    [key: string]: string;
}
/**
 * 阶段-中文
 * @type {{
 * phase_chdj: string,
 * phase_chfj: string,
 * phase_cjhj: string,
 * phase_njrc: string,
 * phase_gpcl: string,
 * phase_cqdj: string,
 * phase_cpck: string,
 * phase_hprc: string,
 * phase_wxrc: string,
 * phase_cpfx: string,
 * phase_xprc: string,
 * phase_njcc: string,
 * phase_yqfx: string,
 * phase_bhgcz: string,
 * phase_gpzs: string,
 * phase_cpbz: string,
 * phase_cprk: string,
 * phase_wxcc: string,
 * phase_njcl: string,
 * phase_thrc: string,
 * phase_sffx: string}}
 */
export const PHASE_TYPE_CHINESE: phaseType = {
    /**
     * 新瓶入厂
     */
    phase_xprc: '新瓶入厂',
    /**
     * 充前登记
     */
    phase_cqdj: '充前登记',
    /**
     * 充后登记
     */
    phase_chdj: '充后登记',
    /**
     * 充后回放
     */
    phase_chhf: '充后回放',
    /**
     * 成品分析
     */
    phase_cpfx: '成品分析',
    /**
     * 充后复检
     */
    phase_chfj: '充后复检',
    /**
     * 维修出厂
     */
    phase_wxcc: '维修出厂',
    /**
     * 年检出厂
     */
    phase_njcc: '年检出厂',
    /**
     * 余气分析
     */
    phase_yqfx: '余气分析',
    /**
     * 钢瓶处理
     */
    phase_gpcl: '钢瓶处理',
    /**
     * 成品出库
     */
    phase_cpck: '成品出库',
    /**
     * 成品包装
     */
    phase_cpbz: '成品包装',
    /**
     * 回瓶入厂
     */
    phase_hprc: '回瓶入厂',
    /**
     * 退货入厂
     */
    phase_thrc: '退货入厂',
    /**
     * 维修入厂
     */
    phase_wxrc: '维修入厂',
    /**
     * 年检入厂
     */
    phase_njrc: '年检入厂',
    /**
     * 成品入库
     */
    phase_cprk: '成品入库',
    /**
     * 水分分析
     */
    phase_sffx: '水分分析',
    /**
     * 车间氦检
     */
    phase_cjhj: '车间氦检',
    /**
     * 钢瓶再生
     */
    phase_gpzs: '钢瓶再生',
    /**
     * 不合格处置
     */
    phase_bhgcz: '不合格处置',
    /**
     * 年检前处理
     */
    phase_njcl: '年检前处理',
};

/**
 * form表单公共配置项
 // eslint-disable-next-line max-len
 * @type {[{title: string},
 * {component: string, model: string, disabled: boolean, label: string, placeholder: string},
 * {component: string, model: string, disabled: boolean, label: string, placeholder: string},
 * {component: string, model: string, disabled: boolean, label: string, placeholder: string},
 * {component: string, model: string, disabled: boolean, label: string, placeholder: string},
 * null,null,null]}
 */
export const FORM_CONFIG = [
    { title: '基本信息' },
    {
        model: 'cylinderCode',
        component: 'input',
        label: '条码号',
        disabled: true,
        placeholder: '扫码后自动显示',
    },
    {
        model: 'cylinderNum',
        component: 'input',
        label: '钢瓶编号',
        disabled: true,
        placeholder: '根据档案自动展示',
    },
    {
        model: 'cylinderTypeLabel',
        component: 'input',
        label: '钢瓶类型',
        disabled: true,
        placeholder: '根据档案自动展示',
    },
    {
        model: 'containerSpecificationLabel',
        component: 'input',
        label: '容器规格',
        disabled: true,
        placeholder: '根据档案自动展示',
    },
    {
        model: 'productIdLabel',
        component: 'input',
        label: '充装介质',
        disabled: true,
        placeholder: '根据档案自动展示',
    },
    {
        model: 'valveTypeLabel',
        component: 'input',
        label: '瓶阀型号',
        disabled: true,
        placeholder: '根据档案自动展示',
    },
    {
        model: 'nextInspectionDate',
        component: 'input',
        label: '下次年检日期',
        disabled: true,
        placeholder: '根据档案自动展示',
        slots: {
            name: 'suffix',
            type: 'tag',
            tagText: YEAR_INSPECT,
            tagType: TAG_TYPE,
            value: 'nextInspectionDateLabel',
        },
    },
];

/**
 * 表单项数据
 * @type {{
 * cylinderType: string,
 * valveTypeLabel: string,
 * lastPhase: string,
 * cylinderId: string,
 * containerSpecification: string,
 * containerSpecificationLabel: string,
 * productId: string, orderId: string,
 * cylinderNum: string,
 * cylinderCode: string,
 * processProperties: string,
 * valveUseTimes: string,
 * transferPhaseId: string,
 * transferRecordId: string,
 * nextInspectionDateLabel: number,
 * nextInspectionDate: string,
 * lastCustomerIdLabel: string,
 * currentPhase: string,
 * lastCustomerId: string,
 * cylinderTypeLabel: string,
 * valveType: string,
 * productIdLabel: string
 * }}
 */
export const FORM = {
    // 钢瓶id
    cylinderId: '',
    // 条码号
    cylinderCode: '',
    // 钢瓶编号
    cylinderNum: '',
    // 钢瓶类型
    cylinderType: '',
    cylinderTypeLabel: '',
    // 容器规格
    containerSpecification: '',
    containerSpecificationLabel: '',
    // 充装介质（产品名称）
    productId: '',
    productIdLabel: '',
    // 阀门型号
    valveType: '',
    valveTypeLabel: '',
    // 下次年检日期
    nextInspectionDate: '',
    nextInspectionDateLabel: 1,
    // 流程属性名称
    processProperties: '',
    // 所属阶段
    currentPhase: '',
    // 阶段id
    transferPhaseId: '',
    // 流程id
    transferRecordId: '',
    // 瓶阀使用次数
    valveUseTimes: '',
    // 订单id
    orderId: '',
    // 上个阶段
    lastPhase: '',
    // 上家客户名称
    lastCustomerId: '',
    lastCustomerIdLabel: '',
};

/**
 * 是否单选框内容
 * @type {[{name: string, label: string},{name: string, label: string}]}
 */
export const WHETHER_RADIO = [
    {
        value: 1,
        text: '是',
    },
    {
        value: 0,
        text: '否',
    },
];

/**
 * 是否单选框内容
 * @type {[{name: string, label: string},{name: string, label: string}]}
 */
export const COMPOUND_NAME = [
    {
        name: 1,
        label: '正常',
    },
    {
        name: 0,
        label: '重量少',
    },
];
/**
 * 项目检查正常异常
 */
export const INSPECT_STATUS = {
    // 1 正常
    NORMAL: 1,
    // '0' 正常
    ABNORMAL: 0,
};

/**
 * 正常、异常单选框
 * @type {value: string | number, label:  string | number}
 */
export const NORMAL_ABNORMAL = [
    {
        value: 1,
        text: '正常',
    },
    {
        value: 0,
        text: '异常',
    },
];

/**
 * 正常、异常单选框 --不合格禁用
 * @type {value: string | number, label:  string | number}
 */
export const NORMAL_ABNORMAL_DISABLED = [
    {
        value: 1,
        text: '正常',
        disable: true,
    },
    {
        value: 0,
        text: '异常',
        disable: true,
    },
];
/**
 * 分析状态、结果
 */
export const ANALYSIS_STATUS = {
    /** 异常 */
    ABNORMAL: 0,
    /** 正常 */
    NORMAL: 1,
};

/**
 * 年检状态
 */
export const YEAR_INSPECT_STATUS = {
    /** 正常 */
    NORMAL: 1,
    /** 异常 */
    ABNORMAL: 2,
    /** 已审核 */
    REVIEWED: 3,
};
